文章目录
  1. Oozie-5_ Bundle定义
  2. 1. 简介
  3. 2. Bundle Job Submission
  4. 3. 一些说明

Oozie-5_ Bundle定义

[TOC]

1. 简介

Bundle 是一个最高级的抽象,包含一系列的 coordinator applications。

  • 大致与 Coordinator 和 Workflow job 的关系如下

语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<bundle-app name="[NAME]"  xmlns="uri:oozie:bundle:0.1"> 
<controls>
<kick-off-time>[DATETIME]</kick-off-time>
</controls>
<coordinator name="[NAME]" >
<app-path>[COORD-APPLICATION-PATH]</app-path>
<configuration>
<property>
<name>[PROPERTY-NAME]</name>
<value>[PROPERTY-VALUE]</value>
</property>
...
</configuration>
</coordinator>
...
</bundle-app>

# kick-off-time:开始和提交 coordinator applications 的时间,默认是 NOW

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<bundle-app name='APPNAME' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='uri:oozie:bundle:0.1'> 
<controls>
<kick-off-time>${kickOffTime}</kick-off-time>
</controls>
<coordinator name='coordJobFromBundle1' >
<app-path>${appPath}</app-path>
<configuration>
<property>
<name>startTime1</name>
<value>${START_TIME}</value>
</property>
<property>
<name>endTime1</name>
<value>${END_TIME}</value>
</property>
</configuration>
</coordinator>
<coordinator name='coordJobFromBundle2' >
<app-path>${appPath2}</app-path>
<configuration>
<property>
<name>startTime2</name>
<value>${START_TIME2}</value>
</property>
<property>
<name>endTime2</name>
<value>${END_TIME2}</value>
</property>
</configuration>
</coordinator>
</bundle-app>

2. Bundle Job Submission

同样需要指定 oozie.bundle.application.path 的路径。

3. 一些说明

按照文档来看,官方也考虑到Bundle的实用性价值。在一些具体的案例中,Bundles 就会显得比较便利。以下是书籍中的一个案例:

案例:

  • 有一个 Revenue Workflow(WF) 去计算一个 ad(广告) 的点击量获得刊登的费用和税收, 并且与上周的的同一天做一些比较。这个任务每15分钟执行一次。
  • 还有一个 Targeting WF 获取点击广告的用户,然后做一些行为分析。这个任务也是每15分钟执行一次。
  • 还有一个 AD-UI WF 用没15分钟去处理 Revenue Workflow 生成的数据,然后生成到数据库中,提供一个用户接口以供查询。
  • 还有一个 Reporting WF 去每天早上统计以前的数据,然后为公司高管们生成日报。
  • 最后一个 Billing WF 用来计算每月的广告账单,最后给刊登广告的形成账单统计。

大致图就是这样

从例子可以看出来,对于同一类的数据分析,形成一个任务pipeline。当一个任务出现故障,那么这个Bundle在进行处理,暂停,恢复等操作的时候,会变得非常简单。

文章目录
  1. Oozie-5_ Bundle定义
  2. 1. 简介
  3. 2. Bundle Job Submission
  4. 3. 一些说明